package org.jeecg.cn.edu.scau.vm.container.service;

import org.jeecg.cn.edu.scau.vm.container.domain.VmContainer;
import org.jeecg.common.api.vo.Result;

/**
 * 用于负责实际上容器的业务交互
 */
public interface VmContainerService {
    /**
     * 发布创建容器事件
     *
     * @param vmContainer 容器相关描述
     * @param command     容器启动指令
     * @param timeout     容器启动超时时间设置
     * @return 返回提示语
     */
    Result<String> containerCreateEventPublish(VmContainer vmContainer, String command, String timeout);

    /**
     * @param nodeId      容器所在节点
     * @param containerId 容器Id
     * @param tableId     容器在表中的ID
     * @return 返回提示语
     */
    Result<String> containerStopEventPublish(String nodeId, String containerId, String tableId);

    /**
     * @param nodeId      容器所在节点
     * @param containerId 容器Id
     * @param tableId     容器在表中的ID
     * @return 返回提示语
     */
    Result<String> containerRemoveEventPublish(String nodeId, String containerId, String tableId);

    /**
     * @param nodeId      容器所在节点
     * @param containerId 容器Id
     * @param tableId     容器在表中的ID
     * @return 返回提示语
     */
    Result<String> containerStartEventPublish(String nodeId, String containerId, String tableId);
    

}
